#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
环境变量配置文件设置脚本
用于在项目根目录创建 .env 文件
"""

import os
import shutil
from pathlib import Path

def setup_env_file():
    """设置 .env 文件"""
    # 获取项目根目录
    project_root = Path(__file__).parent
    template_path = project_root / "src" / "env_template.txt"
    env_path = project_root / ".env"
    
    print("=" * 60)
    print("环境变量配置文件设置")
    print("=" * 60)
    
    # 检查模板文件是否存在
    if not template_path.exists():
        print(f"❌ 错误: 找不到模板文件 {template_path}")
        return False
    
    # 检查 .env 文件是否已存在
    if env_path.exists():
        print(f"⚠️  警告: .env 文件已存在: {env_path}")
        response = input("是否要覆盖现有文件? (y/N): ").strip().lower()
        if response != 'y':
            print("操作已取消")
            return False
    
    try:
        # 复制模板文件到 .env
        shutil.copy2(template_path, env_path)
        print(f"✅ 成功创建 .env 文件: {env_path}")
        print()
        print("📝 请编辑 .env 文件，根据实际情况修改配置值:")
        print(f"   文件位置: {env_path}")
        print()
        print("🔧 主要需要修改的配置项:")
        print("   - MYSQL_HOST: MySQL 服务器地址")
        print("   - MYSQL_USER: MySQL 用户名")
        print("   - MYSQL_PSW: MySQL 密码")
        print("   - API_KEY: Binance API Key")
        print("   - API_SECRET: Binance API Secret")
        print()
        print("💡 提示: 可以使用以下命令编辑文件:")
        print(f"   notepad {env_path}  # Windows")
        print(f"   nano {env_path}     # Linux/Mac")
        print(f"   vim {env_path}      # Linux/Mac")
        print()
        print("🔍 配置完成后，可以运行测试脚本验证:")
        print("   cd src && python3 test_env_config.py")
        
        return True
        
    except Exception as e:
        print(f"❌ 错误: 创建 .env 文件失败: {e}")
        return False

def main():
    """主函数"""
    success = setup_env_file()
    if success:
        print("=" * 60)
        print("🎉 环境变量配置文件设置完成！")
        print("=" * 60)
        return 0
    else:
        print("=" * 60)
        print("❌ 环境变量配置文件设置失败！")
        print("=" * 60)
        return 1

if __name__ == '__main__':
    exit(main()) 